私がプログラミングを好きなのは、探求心と創造性を満たしてくれるからです。
著作権に問題のある「GUI Turbo Assembler」の代わりが見つかりました。
一時はどうなることかと思いましたが、
「Microsoft Macro Assembler Ver 5.10」(MASM)が代わりに動いてくれます。
MASM 5.1 は、この前オープンソース化された MS-DOS v4.0 の中に同梱されています。
これなら、Microsoft が直々にオープンソース化したものなので、著作権の問題がありません。
ただし、書籍「はじめて読む486」で説明されている通り、MASM では一部のサンプルプログラムは動きません。
その動かないサンプルプログラムは OpenWatcom の wasm を使います。
つまり、たとえばサンプルプログラムが A, B, C の3種類に分かれているとして、
すべて wasm.exe で対応しようとすると、A, B は正常動作しますが、C は正常に動きません。
すべて masm.exe で対応しようとすると、A, C は正常動作しますが、B は正常に動きません。
つまり、wasm と masm とでそれぞれ正常に動かないものがありますが、それは他方では正常動作しています。
なので、A, C は masm.exe、B だけを wasm.exe で対応します。といったことを行います。
それですべてのサンプルプログラムが動作できます。
書籍「はじめて読む486」のサンプルプログラムを動かす際の問題と対策:
問題 | 原因 | 対策 | |
---|---|---|---|
1. | 一部のサンプルプログラムが動作しない。 | FreeDOSは MS-DOS の互換品です。 その再現度がおそらく低いことが原因で、OS の動作を試すような深いことを行う一部のサンプルプログラムは正しく動作できないようです。 詳しい原因はわかりません。 |
FreeDOS のシステムファイルを公的な 0xFD 版から、私的だけど互換性の高い 0xDC 版へ差し替える。 |
2. | 上行 1. の対策を行っても、まだ一部動作しない。 | よくわかりませんが、int_a.asm というアセンブリプログラムは wasm でアセンブルすると、割り込み処理のなかでシステムを停止させるような結果になってしまうようです。調べたところ、割り込みハンドラに渡される引数の渡され方に問題があるみたいでした。引数の中に期待する値が入っていなかったんです。でもその直し方は結局分かりませんでした。 | .asm ファイルは、masm を使用してアセンブルする。 ただし、sieve_a.asm のみ、wasm を使用してアセンブルする。 または逆で、 .asm ファイルは、wasm を使用してアセンブルする。 ただし、int_a.asm のみ、masm を使用してアセンブルする。 |
3. | 一部のサンプルプログラムは実行した後に、別のプロテクトモードに移行するタイプのアプリ(wasm.exe など)を起動すると、そのアプリが停止する。 | タスクスイッチを行うと、CPU の状態がスタックへ保存されます。 このとき FPU(浮動小数点演算プロセッサ)も一緒に状態を保存するなり手動で対応しなくてはなりません。 その対応が行われていないのでシステムが停止します。 |
タスクスイッチが行われたあとに、CLTS 命令を入れる。(CLearTaskSwitch) |
ああ、これで本当に問題はすべて解決したのだろうか??
今まで何度も、「これでOK」と思って くつがえされてきたので~~~
今年の 4 月のはじめ頃からずっと付きっ切りで続けてきたので、まるまる 4 カ月これに費やしてきたことになります。
でもまだこれから、この正式なドキュメントを作る仕事が残っています…
Microsoft Store にて、ドラクエ11(Windows 体験版)にレビューしました。
こんなに良いものになったんだなって。
「舵を取らなければならない」その夢の RPG は左上図のような感じです。
こっちだったら疲れないのかもしれませんね。
「はじめて読む486」という本の17個のサンプルプログラムをすべて動かせる動作環境の作成方法のページがおおむね完成しました。
左上の画像リンクをクリックすると表示します。
今年の4月のはじめごろから4カ月半ほどのあいだ、ずっと調査し続けていましたが、やっとまとまりました。
「はじめて読む486」(1994年出版)は、Intel 486 CPU と OS とのあいだのしくみを、C 言語と少しのアセンブリ言語で説明した人気の本です。
会話 AI の Google Gemini が言うには、こんな感じ。
「486を学ぶことは、コンピューターの基礎的な仕組みを理解する上で非常に有益です。CPUの動作原理、命令セット、メモリとの関係など、コンピューターの根幹を支える部分を学ぶことができます。これらの知識は、より高度なCPUであるCoreシリーズを理解する上でも役立ちます」
明日辺り、このページの説明のとおりに進めている動画を作ろうと思っていますが、まぁだいたいひと段落終わったので、良かったです。
いつもの趣味の作業に戻れるかな。。
昨日、金曜日は会社を休んで、税金の講習へ行ってきました。
つまり私はお店を開く(もう開いている)ので、お客さんから受け取った消費税を国に納めなければならないんです。
講習会で、会計ソフトの説明を受けていたときに会計ソフトの画面で「屋号」(やごう)の入力欄が出てきました。
屋号、屋号、、
「<私の苗字>・インターネットサービス」
これはネット検索したところ、ヒットしなかったので使えそう。
イラストは I。
(現在のトータルの売り上げは、2018 年からの 6 年間で 29,181 円税込)
ゲームは G。
(現在のトータルの売り上げは、0円、でも期待している)
知恵袋やプログラミングの方法など「ノウハウのドキュメント」は D。
(現在のトータルの売り上げは、0円、でも人々は自身の知識や才能を必要としている)
頭文字を取って、「<私の苗字> DIG」、「<私の苗字>ディグ」。
いまいちだなぁ。
あと他に売るもの、売るもの…、商材、商材…
上記の3つがどれもいまいちの場合に、堅実に売れるものが必要で、それは日用品。食料品。
…取らぬタヌキの皮算用だな。
とりあえず、「<私の苗字>・インターネットサービス」でいいでしょ。
とにかく個人事業主である私は、老衰で体力が無さ過ぎて、心の弱さやボケもあって、あまり動けないから、
1 カ月あたり 600 円売り上げ、1 年 12 カ月 × 600 円 = 年間 7,200 円売り上げってことで、とりあえずそこを基点としていればいいでしょ。
私が高専にいたときに、いろいろ目をかけてくれて助けてくれた友達がいました。
どうもありがとう。
高専という場所は、そういう友達との出会いの場であると言って間違いなく、高専に入れて良かったです。
なんでこんなことを書くのかと言うと、誕生日のメッセージを今回は送らなくて、心配しているかなと思ったからです。
最近知恵袋で私が回答して喜んでもらえた(喜びの返信付きでベストアンサーをもらえた)知恵袋5つです。
私の知恵袋のアカウント名は「平行四辺形」です。
以前、頑張って書いたのに返信も何もないというのが立て続けに続いていたときがありましたが、最近はメッセージが付いています。
ベストアンサーをもらえれば正直嬉しいけど、ベストアンサーよりもメッセージ(反応)のほうが大切だと思います。
知恵袋で活動を始めるとグレードは1からスタートして、今現在私のグレードは19です。
今までグレードを上げるには、ベストアンサーの数は「あと20件、あと30件」とかそういう感じだったのに、グレード20に上がるために「あと392件」ってどういうこと??
グラフを見ると、今まで2年くらいかけて何とかしてもらってきたベストアンサー数を半分だとすれば、それをもう半分、また繰り返してくださいって言っている…
グレード19から20への壁が厚すぎる…
ここでベストアンサーを稼ごうとして、安易に回答を連射してしまうと、ベストアンサー率が下降するのではないかと思います。
回答者でカテゴリマスターになっている人のベストアンサー率が、61.15%、56.28%、50.90% とやや低めになっているのは、このグレード20の壁や、グレード30?も同じ調子?の壁、グレード40の壁で、急いだことが原因、、、なのかなぁ、という気がします。
他に「TOP10000」というタイトルを持っている人の率が 30%台の人を見かけたので、そういう人は連射をしたんじゃないかと思います。
とはいえ、やはり、質問に対する回答は、人助けのつもりで行うのが本当のところのはずなので、こういう率というのは側面でしかないはずです。
今までと同じ調子で、人助けに徹したいと思います。
グレード20になるのは、たぶん半年か1年後くらいでしょう。